Author |
Message |
uhamurad
Участник форума
Joined: 20 Feb 2008
Posts: 21
Карма: 1 поощрить/наказать
Location: Махачкала
|
Posted: Mon May 26, 2008 7:56 pm (написано за 45 секунд)
Post subject:
|
|
Привожу опечатки, не отмеченные на странице php5.dklab.ru/errors_2007-04-12.htm
114: (второй блок "Внимание") напечатано: Вряд ли вы захотите иметь установленный сервер в каталоге Z:\usr\local\apache\Apache?
должно быть: Вряд ли вы захотите иметь установленный сервер в каталоге Z:\usr\local\apache\Apache! 263: (первый абзац нового параграфа) напечатано: Рассмотрим соответствующий пример (листинг 9.2) должно быть: Рассмотрим соответствующий пример (листинг 12.2) 278: (Листинг 13.3, 7-я строчка) напечатано: ... {$dossier[$i][name]} ... должно быть: ... {$dossier[$i]['name']} ... 287: (середина самого большого абзаца) напечатано: ... (обозначенное =знМ) ... должно быть: ... (обозначенное =знN) ... 288: (первый абзац) напечатано: ... представлено в листинге 11.2
должно быть: ... представлено в листинге 14.2 322: (первая строка кода) напечатано: ... echo "<a href=/script.php?param=".urlencode($userData);
должно быть: ... echo "<a href=/script.php?param=".urlencode($userData).">"; 327: (первый маркерованный список, второй пункт) должно быть: буква "с" не того шрифта, что остальные буквы 417: (последняя строчка кода в описании функции JDToGregorian) напечатано: $list = explode($gregorian, "/"); должно быть: $list = explode("/", $gregorian); 536: (вторая строчка страницы) напечатано: UPDATE ИмяТаблицы SET (ИмяПоля1='зн1', ИмяПоля2='зн2', ...) WHERE выражение должно быть: UPDATE ИмяТаблицы SET ИмяПоля1='зн1', ИмяПоля2='зн2', ... WHERE выражение 584: (конец абзаца описания функции imageColorClosest) напечатано: ... соответствует понятию "зеленый" должно быть: ... соответствует понятию "желтый" 747: (4-й пункт 2-го маркированного списка) напечатано: Документ является расширением документа Document Object Model Level 2 Style Specification. должно быть: Документ является расширением документа Document Object Model Level 2 Events Specification. 960: (3-я строчка страницы с конца) напечатано: атрибут format элемента... должно быть: атрибут method элемента... 969: (второй абзац) напечатано: ... получило название EXST
должно быть: ... получило название EXSLT
|
|
Back to top |
|
 |
reutovo
Заглянувший
Joined: 15 Jun 2008
Posts: 8
Карма: 2 поощрить/наказать
Location: Реутов
|
Posted: Sun Jun 15, 2008 5:14 pm (спустя 19 дней 21 час 18 минут; написано за 6 минут 54 секунды)
Post subject:
|
|
Я новенький на форуме, читаю книгу, и нашел пару эммм, так сказать замечаний, почитал эту тему, на один вопрос нашел ответ, а вот на второй к сожалению нет. стр. 225 "Константы" Quote: |
//Предположим, определена константа PI, равная 3.1416 (3.1459) $a= 2.34 * sin(3*PI/8) + 5; echo "Это число PI"; echo "Это число ".PI; | И все бы хорошо, да вот константа не определена! И как ее определить, до этого примера не слова к сожалению! Я понимаю, что подробнее о константах далее текст идет, но не совсем корректно приводить пример - получить не то что нужно в браузере, а потом узнать как использовать константу. PS: Я могу конечно ошибаться, но книгу читаю не пропуская не единой буквы.
|
|
Back to top |
|
 |
Юрий Насретдинов
Модератор

Joined: 13 Mar 2003
Posts: 8642
Карма: 198 поощрить/наказать
Location: 007 495
|
Posted: Sun Jun 15, 2008 8:09 pm (спустя 2 часа 54 минуты; написано за 9 секунд)
Post subject:
|
|
reutovo
Используйте M_PI, если Вам хочется :).
|
|
Back to top |
|
 |
reutovo
Заглянувший
Joined: 15 Jun 2008
Posts: 8
Карма: 2 поощрить/наказать
Location: Реутов
|
Posted: Sun Jun 15, 2008 8:26 pm (спустя 17 минут; написано за 2 минуты 10 секунд)
Post subject:
|
|
Юрий Насретдинов wrote: |
reutovo
Используйте M_PI, если Вам хочется :). | Я видимо не правильно выразился, почему например нельзя было рассказать в книжке о функции define() в начале главы, а уже потом окунаться в более "тонкие" подробности? PS: Извиняюсь за разведенный в теме флейм. Я просто новичок и по просту много еще не знаю!
|
|
Back to top |
|
 |
Bekzhan
Заглянувший
Joined: 25 Jun 2008
Posts: 1
Карма: 0 поощрить/наказать
|
Posted: Wed Jun 25, 2008 1:50 pm (спустя 9 дней 17 часов 23 минуты; написано за 8 минут 54 секунды)
Post subject:
|
|
в компиляции libxml, libxslt и php5 в среде Unix пожалуйста уточните надо ли писать там в компиляции php где ./configure дополнительно --with-iconv=<DIR> потому что после конфигурации именно в нем он ишет эту iconv и дает error. и какую каталог там должна указываться где <DIR> пример процесс ошибок такая: checking for iconv support... yes checking for iconv... no checking for libiconv... no configure: error: Please specify the install prefix of iconv with --with-iconv=<DIR> # make <enter> no target to make
|
|
Back to top |
|
 |
Ruslan P.Brika
Заглянувший
Joined: 04 Jul 2008
Posts: 1
Карма: 0 поощрить/наказать
|
Posted: Tue Jul 08, 2008 4:44 pm (спустя 13 дней 2 часа 54 минуты; написано за 3 минуты 21 секунду)
Post subject:
|
|
стр. 232 $x = !($b || $c) && $d; // true, если $b и $c ложны, а $d - истинно $x = !($b || $c) && $d; // true, если $b или $c ложны, а $d - истинно условие стоит || (ИЛИ) - значит будет выполняться при условии, если хотябы один из операторов удовлетворяет требованиям
|
|
Back to top |
|
 |
Юрий Насретдинов
Модератор

Joined: 13 Mar 2003
Posts: 8642
Карма: 198 поощрить/наказать
Location: 007 495
|
Posted: Wed Jul 09, 2008 1:32 am (спустя 8 часов 47 минут; написано за 2 минуты 46 секунд)
Post subject:
|
|
Ruslan P.Brika
Все правильно: НЕ (А ИЛИ Б) => (НЕ А) И (НЕ Б) Можете сами проверить: НЕ (1 ИЛИ 1) = НЕ (1) = 0 (НЕ 1) И (НЕ 1) = 0 НЕ (1 ИЛИ 0) = НЕ (1) = 0 (НЕ 1) И (НЕ 0) = 0 И 1 = 0 НЕ (0 ИЛИ 0) = НЕ (0) = 1 (НЕ 0) И (НЕ 0) = 1 И 1 = 1 случай с 0 ИЛИ 1 полностью симметричен случаю 1 ИЛИ 0
|
|
Back to top |
|
 |
URL vs. URI
Guest
Карма: 388 поощрить/наказать
|
Posted: Mon Nov 03, 2008 11:35 pm (спустя 3 месяца 25 дней 22 часа 3 минуты; написано за 5 минут 4 секунды)
Post subject:
|
|
стр. 61 по поводу различия URL и URI URL полный путь ... URI его часть расположенная после имени хоста и номера порта. URL и URI синтаксически одно и тоже, хотя URI не обязательно должен соответсвовать некоторому документу в сети и должен/ Кроме того бывают URI в виде URN или чего там еще. Можно сказать, что URL Подмножество URI. Но не только это. Немного разнится их семантика. URL означает адрес, а URI - имя. То есть сказать Гвидо проживающий в Ареццо и Гвидо Аретинский это примерно соответсвует URL vs. URI/
|
|
Back to top |
|
 |
гость
Guest
Карма: 388 поощрить/наказать
|
Posted: Fri Nov 07, 2008 12:02 am (спустя 3 дня 27 минут; написано за 1 минуту 50 секунд)
Post subject:
|
|
стр. 300 листинг 14.15 в самом начале: "// фактически возвращает $a * $a * ($a+1) * ($a+1) на самом деле возвращает $a * $a * $a * $a т.к. в ф-ии child мы не изменяем $b
|
|
Back to top |
|
 |
HEREDOC & \s
Guest
Карма: 388 поощрить/наказать
|
Posted: Sun Nov 16, 2008 8:11 pm (спустя 9 дней 20 часов 8 минут; написано за 1 минуту 33 секунды)
Post subject:
|
|
(2008) c. 186 после <<<MARKER и до конца строки не должны иди никакие непробельные символы -пробельные символы тоже дают parse error
|
|
Back to top |
|
 |
HEREDOC & bla-bla-bla
Guest
Карма: 388 поощрить/наказать
|
Posted: Sun Nov 16, 2008 9:06 pm (спустя 55 минут; написано за 2 минуты 45 секунд)
Post subject:
|
|
Сорри не обратил сразу внимание на сл. (2008)с.186 завершающая строка (авт.- MARKER) должна заканчиваться точкой с запятой - не должна, но может. Точка с запятой может быть и на следующей строке Привычный Perl-приграммисту синтаксис работать не будет - ясный перец. На Пыхе ж пишем так echo strip_tags(<<<EOD Какой-то текст с <b>тегами</b>. EOD );
|
|
Back to top |
|
 |
action=$_SERVER[SCRIPT_N]
Guest
Карма: 388 поощрить/наказать
|
Posted: Sun Nov 16, 2008 11:50 pm (спустя 2 часа 44 минуты; написано за 2 минуты 9 секунд)
Post subject:
|
|
(2008) c.201 Обратите внимание на полезный прием: в параметре action тега form ... извлекли из переменной окружения SCRIPT_NAME/ Это позволило не "привязываться" к имеи файла. - Если опустить атрибут action эффект будет тот же самый.
|
|
Back to top |
|
 |
fopen ($mode)
Guest
Карма: 388 поощрить/наказать
|
Posted: Tue Nov 25, 2008 1:23 am (спустя 8 дней 1 час 32 минуты; написано за 3 минуты 23 секунды)
Post subject:
|
|
(2008) c.312 Авторы полагают, что в некоторых режимах (w+ и a) требуются существование файлов, в прортивном случае код закончтися с ошибкой. Это не так. Кроме того отсутсвует $mode === "x" Вот копипастинг русской документации Quote: |
'r' Открывает файл только для чтения; помещает указатель в начало файла. 'r+' Окрывает файл для чтения и записи; помещяет указатель в начало файла. 'w' Открывает файл только для записи; помещает указатель в начало файла и обрезает файл до нулевой длинны. Если файл не существует - пробует его создать. 'w+' Открывает файл для чтения и записи; помещает указатель в начало файла и обрезает файл до нулевой длинны. Если файл не существует - пробует его создать. 'a' Открывает файл только для записи; помещает указатель в конец файла. Если файл не существует - пытается его создать. 'a+' Открывает файл для чтения и записи; помещает указатель в конец файла. Если файл не существует - пытается его создать. 'x' Создаёт и открывает только для записи; помещает указатель в начало файла. Если файл уже существует, вызов fopen() закончится неудачей, вернёт FALSE и выдаст предупреждение уровня E_WARNING. Если файл не существует, попытается его создать. Это эквивалентно указанию флагов O_EXCL|O_CREAT для внутреннего системного вызова open(2). Эта опция поддерживается начиная с версии PHP 4.3.2 и выше, и работает только для локальных файлов. 'x+' Создаёт и открывает для чтения и записи; помещает указатель в начало файла. Если файл уже существует, вызов fopen() закончится неудачей, вернёт FALSE и выдаст предупреждение уровня E_WARNING. Если файл не существует, попытается его создать. Это эквивалентно указанию флагов O_EXCL|O_CREAT для внутреннего системного вызова open(2). Эта опция ... |
|
|
Back to top |
|
 |
file with FILE_IGNORE_NEW
Guest
Карма: 388 поощрить/наказать
|
Posted: Tue Nov 25, 2008 10:10 pm (спустя 20 часов 46 минут; написано за 1 минуту 28 секунд)
Post subject:
|
|
(2008) c.323 "Неудобство этой функции (file) состоит в том, что символы сконца строки не вырезаются ..." - параметр FILE_IGNORE_NEW_LINES делает это.
|
|
Back to top |
|
 |
void restore_reeor_hanler
Guest
Карма: 388 поощрить/наказать
|
Posted: Thu Nov 27, 2008 12:48 am (спустя 1 день 2 часа 38 минут; написано за 1 минуту 19 секунд)
Post subject:
|
|
(2008) c.391 Ошибочно указана сигнатура void restore_error_handler() Такая функция практически бесполезна. На самом деле сигнатура такая - bool restore_error_handler(void)
|
|
Back to top |
|
 |
void restore_error_hanler
Guest
Карма: 388 поощрить/наказать
|
Posted: Thu Nov 27, 2008 12:55 am (спустя 6 минут; написано за 3 минуты 2 секунды)
Post subject:
|
|
void restore_reeor_hanler wrote: |
(2008) c.391 Ошибочно указана сигнатура void restore_error_handler() Такая функция практически бесполезна. На самом деле сигнатура такая - bool restore_error_handler(void) | Погорячился, сорри. Функция всегда возвращает TRUE, так что проблемы с count++ count-- остаются (Я то думал что при неуспехе возвратится FALSE). Но все же не void.
|
|
Back to top |
|
 |
int eval()
Guest
Карма: 388 поощрить/наказать
|
Posted: Thu Nov 27, 2008 1:05 am (спустя 9 минут; написано за 58 секунд)
Post subject:
|
|
{2008) c. 397 int eval(string) - разумеется, mixed eval(string)
|
|
Back to top |
|
 |
eval(~<?php~)
Guest
Карма: 388 поощрить/наказать
|
Posted: Thu Nov 27, 2008 1:15 am (спустя 9 минут; написано за 1 минуту 59 секунд)
Post subject:
|
|
(2008) c.196 .. в ней (в параметре eval()-авт.) может быть все, что допустимо в сценарии... - ... открытие и закрытие тегов <? и ?? - в документации сказано иначе Quote: |
Also remember that variables given values under eval() will retain these values in the main script afterwards. Parameters code_str The code string to be evaluated. code_str [b]does not [/b]have to contain PHP Opening tags. |
|
|
Back to top |
|
 |
eval(?php)
Guest
Карма: 388 поощрить/наказать
|
Posted: Thu Nov 27, 2008 1:29 am (спустя 14 минут; написано за 5 минут 57 секунд)
Post subject:
|
|
eval(~<?php~) wrote: |
(2008) c.196 .. в ней (в параметре eval()-авт.) может быть все, что допустимо в сценарии... - ... открытие и закрытие тегов <? и ?? - в документации сказано иначе Quote: |
Also remember that variables given values under eval() will retain these values in the main script afterwards. Parameters code_str The code string to be evaluated. code_str does not have to contain PHP Opening tags. |
| Такой код работает в нарушение документацииНе уверен, что есть хотябы одна причина так рисковать, а не испоьзовать документированные возможности. А такой код не работет Такой код работает в нарушение документации (undefined constanr php)Я не уверен, что следует в учебных руководствах прививать любовь к "левым" приемам.
|
|
Back to top |
|
 |
eval(<?php)
Guest
Карма: 388 поощрить/наказать
|
Posted: Thu Nov 27, 2008 1:35 am (спустя 5 минут; написано за 7 минут 55 секунд)
Post subject:
|
|
А такой код не работет (undefined constnt php)
|
|
Back to top |
|
 |
eval(<?php)
Guest
Карма: 388 поощрить/наказать
|
Posted: Thu Nov 27, 2008 1:45 am (спустя 10 минут; написано за 2 минуты 7 секунд)
Post subject:
|
|
Продолжил игры с eval("?><?") такой код тоже не выполняется (parse error)Д делаем вывод о случайном эффекте eval (фактически баге PHP) при правильной работе
|
|
Back to top |
|
 |
construction eval
Guest
Карма: 388 поощрить/наказать
|
Posted: Thu Nov 27, 2008 7:31 pm (спустя 17 часов 45 минут; написано за 2 минуты 54 секунды)
Post subject:
|
|
(2008) c.396 "... эта функция (eval-авт.)" - eval - это не функция, а языковая конструкция. Это важно в чатности имея в вилу что нельзя вызвоть символически "Код в $code использует те же самые глобалтные переменные..." - не обязательно глобальные, если вызывается внутри функции. переменные из текущего контекста - глобальные или лоокальные.
|
|
Back to top |
|
 |
xml valid
Guest
Карма: 388 поощрить/наказать
|
Posted: Thu Nov 27, 2008 10:19 pm (спустя 2 часа 48 минут; написано за 5 минут 29 секунд)
Post subject:
|
|
(2008) c.413 "Этот способ хорош только для XML файлов,для которых точно известно, что внутри тега не может содержаться символ >" - Довольно распространенное заблуждение. Явно представлять в виде сущности следует только < как < и кроме этого собственно & как & Кодировать > как > сдедует только в некоторых секциях CDATA, которые должны содержать ]]> как ]]> Вот соответсвующее место из спецификации [quote] 2.4 Символьные данные и разметка Текст представляет собой смесь символьных данных и разметки. Разметка бывает в форме начальных тегов, конечных тегов, тегов пустых элементов, ссылок на сущности, ссылок на символы, комментариев, разделителей разделов CDATA, объявлений типа документа и инструкций по обработке. Весь неразмеченный текст составляет символьные данные документа. Амперсанд (&) и левая угловая скобка (<) могут представляться в явном виде только в качестве разделителей разметки или в комментарии, инструкции по обработке или в разделе CDATA. Кроме того, они допустимы в литеральных значениях сущностей объявления внутренней сущности; см. "4.3.2 Правильные анализируемые сущности". Если эти символы необходимы в другом месте, их нужно кодировать специальным образом с помощью числовых ссылок на символы или строк "&" и "<" соответственно. Правая угловая скобка (>) может представляться строкой ">" и должна, для совместимости, кодироваться с помощью комбинации ">" или ссылки на символ, если она расположена в строке "]]>" содержимого, если только эта строка не обозначает конец раздела CDATA. В содержимом элементов символьными данными является любя строка символов, не содержащая начального ограничителя какого-либо элемента разметки. В разделе CDATA символьными данными является любая строка символов, не включающая конечный ограничитель раздела CDATA, "]]>". Чтобы значения атрибутов могли содержать как двойные, так и одинарные кавычки, апостроф или одинарная кавычка (') может представляться комбинацией "'", а двойная кавычка (") - комбинацией """. Си [quote]
|
|
Back to top |
|
 |
/(?R)/
Guest
Карма: 388 поощрить/наказать
|
Posted: Fri Nov 28, 2008 8:59 pm (спустя 22 часа 39 минут; написано за 2 минуты 54 секунды)
Post subject:
|
|
(2008) c. 420 "... когда необходимо учитывать вложенность элементов при замене. К сожалению, регулярные выражения тут бессильны" - Это можно сделать (вопрос о произвордительности - это другой вопрос)[/c][/c][a]44[/a]55[/a]456'; $reg = '#\\[(\\w)\\]([^<>]*(?R)*[^<>]*)\\[/\\1\\]#i'; while(preg_match_all($reg, $str, $arr)) { $str = preg_replace($reg, '<\\1>$2</$1>', $str); echo "$str\n\n"; } ?></textarea> [/php]
|
|
Back to top |
|
 |
/?R/
Guest
Карма: 388 поощрить/наказать
|
Posted: Fri Nov 28, 2008 9:03 pm (спустя 4 минуты; написано за 37 секунд)
Post subject:
|
|
Пробую еще раз в quote Quote: |
$str = '[a]1122[/c][/c][a]44[/a]55[/a]456'; $reg = '#\\[(\\w)\\]([^<>]*(?R)*[^<>]*)\\[/\\1\\]#i'; while(preg_match_all($reg, $str, $arr)) { $str = preg_replace($reg, '<\\1>$2</$1>', $str); echo "$str\n\n"; } |
|
|
Back to top |
|
 |
/?R/
Guest
Карма: 388 поощрить/наказать
|
Posted: Fri Nov 28, 2008 9:06 pm (спустя 2 минуты; написано за 34 секунды)
Post subject:
|
|
Прошу удалить передыдущий пост - пробую без форматирования Код PHP $str = '[a]1122[/c][/c][a]44[/a]55[/a]456'; $reg = '#\\[(\\w)\\]([^<>]*(?R)*[^<>]*)\\[/\\1\\]#i'; while(preg_match_all($reg, $str, $arr)) { $str = preg_replace($reg, '<\\1>$2</$1>', $str); echo "$str\n\n"; }
|
|
Back to top |
|
 |
/?R/
Guest
Карма: 388 поощрить/наказать
|
Posted: Fri Nov 28, 2008 9:33 pm (спустя 27 минут; написано за 1 минуту 7 секунд)
Post subject:
|
|
Обнаружил неточность в своем коде (остались в шаблоне угловые скобки вместо квабратных - поэтому еще надеюсь последний раз) Code (php): | скопировать код в буфер обмена | <?php echo (www.php.net/echo) '<textarea cols=200 rows=20>';
$str = '[a]11[b]22[/b][g][g][g]33[/g][/g][/g][a]44[/a]55[/a]456'; $reg = '#\\[(\\w)\\]([^\\[\\]]*(?R)*[^\\[\\]]*)\\[/\\1\\]#i';
while(preg_match_all (www.php.net/preg_match_all)($reg, $str, $arr)) { $str = preg_replace (www.php.net/preg_replace)($reg, '<\\1>$2</$1>', $str); echo (www.php.net/echo) "$str\n\n"; }
echo (www.php.net/echo) '</textarea>'; ?> |
|
|
Back to top |
|
 |
header
Guest
Карма: 388 поощрить/наказать
|
Posted: Sat Nov 29, 2008 12:02 am (спустя 2 часа 28 минут; написано за 3 минуты 27 секунд)
Post subject:
|
|
(2008) с.437 "int Header(string)" - согласно документации void header ( string $string [, bool $replace [, int $http_response_code ]] ) с.438 "... обязательно должен осуществляться до любого оператора вывода" - согласно документации before any actual output is sent (до реальной отправки) кроме ob_start() - о чем сказано в тексте книги - можно использвать параметр ini output_buffering - и на самом деле приходитмся использовать, так как некоторые хостинги любят вставить до Вашего вывода уже свой output/
|
|
Back to top |
|
 |
Кэш
Guest
Карма: 388 поощрить/наказать
|
Posted: Sat Nov 29, 2008 12:47 am (спустя 45 минут; написано за 4 минуты 18 секунд)
Post subject:
|
|
(2008) с.439 Листинг 25.1 lib/nocashe.php - в листинге приведен растиражированный в сети Интернет код, который не работает во всех случаях, в частности при возврате на страничку при помощи кнопки BACK. В свое время Сократ сказал, что у мухи 8 лапок и это заблуждение жило в научной среде более ста лет, хотя убедиться в ошибочности этого суждения мог любой. В ветке форума PHP готовые решения приведен навскидку работающий код, хотя достаточно ограничиться всего двумя закголовками Code (php): | скопировать код в буфер обмена | header (www.php.net/header)("Cache-Control: no-store, no-cache, must-revalidate"); header (www.php.net/header)("Expires: " . date (www.php.net/date)("r")); |
|
|
Back to top |
|
 |
$_SESSION
Guest
Карма: 388 поощрить/наказать
|
Posted: Sat Nov 29, 2008 7:41 pm (спустя 18 часов 53 минуты; написано за 3 минуты)
Post subject:
|
|
(2008) c.512 " ... использовался массив $HTTP_SESSION_VARS. В настоящее время эта переменная тоже поддерживается, но она является синонимом для $_SESSION" - $HTTP_SESSION_VARS contains the same initial information, but is not a superglobal. (Note that $HTTP_SESSION_VARS and $_SESSION are different variables and that PHP handles them as such. То есть в привычном сиысле слова (для программистов PHP) это не синонимы
|
|
Back to top |
|
 |
function
Guest
Карма: 388 поощрить/наказать
|
Posted: Sun Nov 30, 2008 10:11 pm (спустя 1 день 2 часа 30 минут; написано за 2 минуты 32 секунды)
Post subject:
|
|
(2008) c.241 "... определение функции ниже ее вызова работает если в момент вызова функции ее код будет уже оттранслирован" - одной трансляции мало. Код должен быть в некоторых случаях еще и выполнен (например зависит от условных конструкций). Приведенный код выдаст ошибку и выше и ниже Code (php): | скопировать код в буфер обмена | f(); //
if (isset (www.php.net/isset)($_REQUEST['be-be'])){ function f(){echo (www.php.net/echo) 7;} }
f(); // |
|
|
Back to top |
|
 |
Guest
Карма: 388 поощрить/наказать
|
Posted: Mon Dec 01, 2008 12:07 am (спустя 1 час 55 минут; написано за 9 минут 13 секунд)
Post subject:
|
|
eval(<?php) wrote: |
А такой код не работет (undefined constnt php) | Кстати говоря, судя по комментариям в официальной документации PHP (после статьи eval) в 2005 году такой код работал. исправляются...
|
|
Back to top |
|
 |
апострофы
Guest
Карма: 388 поощрить/наказать
|
Posted: Mon Dec 01, 2008 1:49 am (спустя 1 час 42 минуты; написано за 3 минуты 4 секунды)
Post subject:
|
|
(2008) с.417 "PHP проявляет чудо сообразительности ... видя что после слыша стоит буква, не входящая ни в один сроковый метасимвол он оставляет все как есть" - PHP дейстивительно проявляет чудо сообразительности, при работе в двойных кавычках. Но влистинге 24-6 строка взята в одинарные кавычки и действует совсем другое праило Quote: |
Что бы использовать одинарную кавычку внутри строки, как и во многих других языках, ее необходимо предварить символом обратной косой черты (\), т. е. экранировать ее. Если обратная косая черта должна идти перед одинарной кавычкой либо быть в конце строки, вам необходимо продублировать ее. Обратите внимание, что если вы попытаетесь экранировать любой другой символ, обратная косая черта также будет напечатана! Так что, как правило, нет необходимости экранировать саму обратную косую черту. Замечание: В PHP 3 в данном случае будет выдано сообщ... |
|
|
Back to top |
|
 |
return by reference
Guest
Карма: 388 поощрить/наказать
|
Posted: Mon Dec 01, 2008 7:47 pm (спустя 17 часов 58 минут; написано за 2 минуты 37 секунд)
Post subject:
|
|
(2008) c. 257 "В новой версии все объекты и так передаются по ссылке" - явная терминологическая неточность. Объекты могут передаваться и возвращаться как по ссылке так и по значению (как и в 4-ке). Но значение объектной переменной содержит ссылку на объект. Приведенный код проясняет разницу: Code (php): | скопировать код в буфер обмена | class First{} class Second{}
function f($obj){return $obj;} function &s(&$obj){return $obj;}
$a=new First(); $b=f($a); $b=new Second(); echo (www.php.net/echo) ($a===$b) ? "true": "false"; //false
$b=&s($a); $b=new Second(); echo (www.php.net/echo) ($a===$b) ? "true": "false"; //true |
|
|
Back to top |
|
 |
/^$/s
Guest
Карма: 388 поощрить/наказать
|
Posted: Mon Dec 01, 2008 10:21 pm (спустя 2 часа 33 минуты; написано за 1 минуту 40 секунд)
Post subject:
|
|
(2008) c.415 "/^$/s" - сопоставимо только с пустой строкой - это не так сопоставимо с пустой строкой и со строкой "\n" Для сопоставления пустой строке следует использовать echo preg_match('/^\z/', "\n"); () (модификатор s не нужет)
|
|
Back to top |
|
 |
varchar(255)
Guest
Карма: 388 поощрить/наказать
|
Posted: Tue Dec 02, 2008 12:58 am (спустя 2 часа 37 минут; написано за 1 минуту 26 секунд)
Post subject:
|
|
(2008) c.483 "VARCHAR (length) .. где length принадлежит диапазону 1 255" - Values in VARCHAR columns are variable-length strings. The length can be specified as a value from 0 to 255 before MySQL 5.0.3, and 0 to 65,535 in 5.0.3 and later versions. (The maximum effective length of a VARCHAR in MySQL 5.0.3 and later is determined by the maximum row size and the character set used. The maximum column length is subject to a row size of 65,532 bytes.) In contrast to CHAR, VARCHAR values are stored using only as many characters as are needed, plus one byte to record the length (two bytes for columns that are declared with a length longer than 255...
|
|
Back to top |
|
 |
autoincrement id
Guest
Карма: 388 поощрить/наказать
|
Posted: Tue Dec 02, 2008 1:23 am (спустя 25 минут; написано за 3 минуты 17 секунд)
Post subject:
|
|
(2008) c. 496 "вновь добавляемые данные уже не получат id только что удаленной строки" - следует учитывать что счетчики таблиц innodb инициализируются при старте сервера каждый раз по алгоритму select max(id) from table. Следовательно после останова/пуска сервера удаленные id для таблоиц innodb будут использованы (если удалены максимальные их значения).
|
|
Back to top |
|
 |
mysql_qw()
Guest
Карма: 388 поощрить/наказать
|
Posted: Tue Dec 02, 2008 9:20 pm (спустя 19 часов 56 минут; написано за 3 минуты 30 секунд)
Post subject:
|
|
(2008) c. 504 "Почему разработчики PHP не встроили в ядро PHP фукнцию подобную mysql_qw..." - в модуле mysqli идея placeholder реализована в stmt Code (php): | скопировать код в буфер обмена | $stmt = $mysqli->prepare("INSERT INTO CountryLanguage VALUES (?, ?, ?, ?)"); $stmt->bind_param('sssd', $code, $language, $official, $percent);
$code = 'DEU'; $language = 'Bavarian'; $official = "F"; $percent = 11.2;
/* execute prepared statement */ $stmt->execute() | При этом escaping производится автоматически. Это не 1/1 mysql_qw(), но идея та же и функционал хороший.
|
|
Back to top |
|
 |
include_path
Guest
Карма: 388 поощрить/наказать
|
Posted: Tue Dec 02, 2008 9:46 pm (спустя 25 минут; написано за 1 минуту 46 секунд)
Post subject:
|
|
(2008) c. 557 "Она (include_path) содержит несколько ... абсолютных путей" - Example I.2. Windows include_path include_path=".;c:\php\includes" Using a . in the include path allows for relative includes as it means the current directory.
|
|
Back to top |
|
 |
Листинг 31-9
Guest
Карма: 388 поощрить/наказать
|
Posted: Tue Dec 02, 2008 10:29 pm (спустя 43 минуты; написано за 35 секунд)
Post subject:
|
|
(2008) с.570 У методов в листинге пропущен модификатор static
|
|
Back to top |
|
 |
|